﻿//
// Created by hujin on 2020/10/3.
//
#include <fstream>
#ifndef C_MIPS_CMPLR_LOGGER_H
#define C_MIPS_CMPLR_LOGGER_H


extern std::ofstream Log ;
extern std::ofstream Log_E;
extern std::ofstream Log_E2;

void initLog(const std::string& path);
void closeLog();
void initLogE(const std::string& path, const std::string& path2);
void log_error(int step, const std::string& error, int line, int pos);

//非法符号或不符合词法	a
//名字重定义	b
//未定义的名字	c
//函数参数个数不匹配	d
//函数参数类型不匹配	e
//条件判断中出现不合法的类型	f
//无返回值的函数存在不匹配的return语句	g
//有返回值的函数缺少return语句或存在不匹配的return语句	h
//数组元素的下标只能是整型表达式	i
//不能改变常量的值	j
//应为分号	k
//应为右小括号’)’	l
//应为右中括号’]’	m
//数组初始化个数不匹配	n
//<常量>类型不一致	o
//缺少缺省语句	p

void log_error2(char a, int line);
void closeLogE();

#endif //C_MIPS_CMPLR_LOGGER_H



